package com.joker.aigc.chat.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;

/**
 * 阿里云OSS服务接口
 *
 * @author system
 * @date 2024-01-01
 */
public interface OssService {

    /**
     * 上传文件到OSS
     *
     * @param file       文件
     * @param objectName 对象名称
     * @return 文件访问URL
     */
    String uploadFile(MultipartFile file, String objectName);

    /**
     * 上传文件到OSS
     *
     * @param file       文件
     * @param objectName 对象名称
     * @return 文件访问URL
     */
    String uploadFile(File file, String objectName);

    /**
     * 上传图片文件
     *
     * @param imageFile 图片文件
     * @return 文件访问URL
     */
    String uploadImage(MultipartFile imageFile);

    /**
     * 上传JSON文件
     *
     * @param jsonContent JSON内容
     * @param fileName    文件名
     * @return 文件访问URL
     */
    String uploadJsonFile(String jsonContent, String fileName);

    /**
     * 删除文件
     *
     * @param objectName 对象名称
     */
    void deleteFile(String objectName);
}
